Request Memoization
同一レンダリング内での、同一URLのfetchはメモ化される
1回のレンダリングの中で、複数のComponentで同じURLでfetchが起きた場合はcacheが使用される
GETにのみ適用される
「あくまでもReactの機能」とdocsにかかれている
React extends the fetch API to automatically memoize requests that have the same URL and options. This means you can call a fetch function for the same data in multiple places in a React component tree while only executing it once.
Reactが主語になっている
Request memoization is a React feature, not a Next.js feature. It's included here to show how it interacts with the other caching mechanisms.
Next.jsじゃなくて、Reactの機能です、と書いている
次回以降のレンダリングでは、再度requestが呼ばれる
そのため、revalidateとかの概念がそもそも必要にならない
一方、useQueryでは2回目以降のfetchでもcacheを使ったりするので、revalidateの制御が必要になる
普通にfetchしときゃ、勝手によしなにやってくれる
https://gyazo.com/f644df044263f1f1ff674ef7cb508c09 https://nextjs.org/docs/app/building-your-application/caching#request-memoization
これが機能するのって、server上でのリクエストに限るのかな?
clientでのfetchでもやってくれという気はするが